# 数据类型
# 简单类型: 数字 布尔值 字符串 空值
# 复杂类型: 列表 元组 字典 任意类型的实例

# 链表（linked list）是一种线性数据结构，
# 链表中的每个元素都是一个节点对象,各个节点通过“引用”相连接 (引用记录了下一个节点的内存地址)

# 初始化链表(创建节点对象)
class ListNode:
    """链表节点类"""
    # self其实就是类的实例
    def __init__(self, val: int):
        self.val: int = val               # 节点值
        self.next: ListNode | None = None # 指向下一节点的引用

# 一个类被调用 我们 称为类的实例化
# 类的实例化 一定会 产生一个实例(实例也叫对象)
n0 = ListNode(1)
n1 = ListNode(3)
n2 = ListNode(2)
n3 = ListNode(5)
n4 = ListNode(4)

#形成了一个链表
n0.next = n1
n1.next = n2
n2.next = n3
n3.next = n4

# 节点的插入

# 

